{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-001\n",
    "\n",
    "> python 里的列表 list 做什么的？\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 存放多个元素\n",
    "- 元素是替换\n",
    "- 也可添加和删除元素\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-002\n",
    "\n",
    "> list 列表的可以在最后一个元素添加`,`吗？\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "[\n",
    "    1,\n",
    "    2,\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-003\n",
    "\n",
    "> 什么时候用列表 list? 什么时候用集合 set?\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- set: 无关顺序，会删除重复项目\n",
    "- list: 和顺序有关\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-004\n",
    "\n",
    "> 把元组转化为列表\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = (1, 2)\n",
    "list(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用 list 函数可以把元组转为列表 list。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-005\n",
    "\n",
    "> 把字符串分隔成列表\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "row = \"tom,11,football\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "row.split(\",\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-006\n",
    "\n",
    "> 把字符串分隔成列表。有不同分隔符。比如分隔符为`,`或`|`\n",
    "\n",
    "```PY\n",
    "\n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "row = \"tom,11|football\\tdraw\"\n",
    "items = [row]\n",
    "for limiter in [\",\", \"|\", \"\\t\"]:\n",
    "    items = [sub for item in items for sub in item.split(limiter)]\n",
    "items"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-007\n",
    "\n",
    "> 按索引取得某个元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-008\n",
    "\n",
    "> 按反方向索引取得某个元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[-1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-009\n",
    "\n",
    "> 索引越界会发生什么？返回 None 或抛出异常？\n",
    "\n",
    "```PY\n",
    "\n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[4]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-010\n",
    "\n",
    "> 获得子列表\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[1:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-011\n",
    "\n",
    "> 切片超出范围会怎样？\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[1:10]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-012\n",
    "\n",
    "> 逆序\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors.reverse()\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-013\n",
    "\n",
    "> 末尾添加元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors.append(\"orange\")\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-014\n",
    "\n",
    "> 任意位置添加元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors.insert(1, \"orange\")\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-015\n",
    "\n",
    "> 重复元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors * 3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-016\n",
    "\n",
    "> 拼接(2 个方法)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 = [\"red\", \"green\", \"blue\"]\n",
    "colors2 = [\"orange\", \"purple\"]\n",
    "colors1 + colors2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 = [\"red\", \"green\", \"blue\"]\n",
    "colors2 = [\"orange\", \"purple\"]\n",
    "colors1.extend(colors2)\n",
    "print(f\"{colors1=}, {colors2=}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-017\n",
    "\n",
    "> 修改一个元素\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[0] = \"pink\"\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-018\n",
    "\n",
    "> 一次修改多个元素(替换)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors[0:1] = [\"pink\", \"purple\"]\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-019\n",
    "\n",
    "> 删除元素(按索引)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "del colors[1]\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-020\n",
    "\n",
    "> 删除元素(按值)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"red\"]\n",
    "colors.remove(\"red\")\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "remove 不是删除所有，只是删除找到的第一个。\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-021\n",
    "\n",
    "> 删除所有某值元素(按值)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"red\"]\n",
    "colors = [color for color in colors if color != \"red\"]\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-022\n",
    "\n",
    "> 删除最后一个元素并得到值\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "print(colors.pop())\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-023\n",
    "\n",
    "> 删除元素(按索引)并得到值\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "print(colors.pop(1))\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-024\n",
    "\n",
    "> list 有哪些接口来模拟队列\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "queue = []\n",
    "queue.append(\"red\")\n",
    "queue.append(\"green\")\n",
    "queue.append(\"blue\")\n",
    "queue.pop(0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最好使用 collections.deque\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-025\n",
    "\n",
    "> list 有哪些接口来模拟堆栈\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "stack = []\n",
    "stack.append(\"red\")\n",
    "stack.append(\"green\")\n",
    "stack.append(\"blue\")\n",
    "stack.pop()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-026\n",
    "\n",
    "> 清空\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors.clear()\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-027\n",
    "\n",
    "> 查找\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"green\"]\n",
    "print(\"green at\", colors.index(\"green\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-028\n",
    "\n",
    "> 查找。找不到返回-1 还是抛出错误\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"green\"]\n",
    "print(\"purple at\", colors.index(\"purple\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "找不到抛出 ValueError\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-029\n",
    "\n",
    "> 是否存在\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"green\"]\n",
    "\"green\" in colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-030\n",
    "\n",
    "> 统计某个值的数量\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\", \"green\"]\n",
    "print(\"green count:\", colors.count(\"green\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-031\n",
    "\n",
    "> 转字符串\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "\",\".join(colors)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-032\n",
    "\n",
    "> 就地排序\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "colors.sort()\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-033\n",
    "\n",
    "> 排序成新副本\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"red\", \"green\", \"blue\"]\n",
    "sorted_colors = sorted(colors)\n",
    "print(f\"{colors=}\")\n",
    "print(f\"{sorted_colors=}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-034\n",
    "\n",
    "> 就地排序(逆序)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"green\", \"red\", \"blue\"]\n",
    "colors.sort(reverse=True)\n",
    "colors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-035\n",
    "\n",
    "> 长度\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors = [\"green\", \"red\", \"blue\"]\n",
    "len(colors)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-036\n",
    "\n",
    "> 复制(shallow copy 浅复制)新副本(3 个方法)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用copy函数复制\n",
    "colors = [\"green\", \"red\", \"blue\"]\n",
    "new_colors = colors.copy()\n",
    "print(f\"{colors=}, {new_colors=}\")\n",
    "colors[1] = \"purple\"\n",
    "print(f\"{colors=}, {new_colors=}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用切片函数复制\n",
    "colors = [\"green\", \"red\", \"blue\"]\n",
    "new_colors = colors[:]\n",
    "print(f\"{colors=}, {new_colors=}\")\n",
    "colors[1] = \"purple\"\n",
    "print(f\"{colors=}, {new_colors=}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用list函数复制\n",
    "colors = [\"green\", \"red\", \"blue\"]\n",
    "new_colors = list(colors)\n",
    "print(f\"{colors=}, {new_colors=}\")\n",
    "colors[1] = \"purple\"\n",
    "print(f\"{colors=}, {new_colors=}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-037\n",
    "\n",
    "> 深度复制\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "names = [\"tom\", \"jack\", [\"alice\", \"liumei\"]]\n",
    "new_names = names.copy()\n",
    "print(f\"{names=}\\n{new_names=}\")\n",
    "\n",
    "names[2][0] = \"rose\"\n",
    "print(f\"{names=}\\n{new_names=}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import copy\n",
    "\n",
    "names = [\"tom\", \"jack\", [\"alice\", \"liumei\"]]\n",
    "new_names = copy.deepcopy(names)\n",
    "print(f\"{names=}\\n{new_names=}\")\n",
    "\n",
    "names[2][0] = \"rose\"\n",
    "print(f\"{names=}\\n{new_names=}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-038\n",
    "\n",
    "> 相等\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 = [\"green\", \"red\", \"blue\"]\n",
    "colors2 = [\"green\", \"red\", \"blue\"]\n",
    "colors3 = [\"red\", \"green\", \"blue\"]\n",
    "print(f\"{colors1} == {colors2}\", colors1 == colors2)\n",
    "print(f\"{colors1} == {colors3}\", colors1 == colors3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-039\n",
    "\n",
    "> 不相等\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 = [\"green\", \"red\", \"blue\"]\n",
    "colors2 = [\"green\", \"red\"]\n",
    "colors1 != colors2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-040\n",
    "\n",
    "> 包含(前几个相同)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 = [\"green\", \"red\", \"blue\"]\n",
    "colors2 = [\"green\", \"red\"]\n",
    "colors3 = [\"red\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 > colors2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "colors1 > colors3"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-041\n",
    "\n",
    "> x1 包含 x2, 但位置不同\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x1 = [1, 2, 3]\n",
    "x2 = [1, 3]\n",
    "x1 > x2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-042\n",
    "\n",
    "> 拉链合并\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "days = [\"Monday\", \"Tuesday\", \"Wednesday\"]\n",
    "fruits = [\"banana\", \"orange\", \"peach\"]\n",
    "drinks = [\"coffee\", \"tea\", \"beer\"]\n",
    "desserts = [\"tiramisu\", \"ice cream\", \"pie\", \"pudding\"]\n",
    "\n",
    "for day, friut, drink, dessert in zip(days, fruits, drinks, desserts):\n",
    "    print(day, friut, drink, dessert)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-043\n",
    "\n",
    "> 拉链转字典\n",
    "\n",
    "```py\n",
    "englishs = ['Monday', 'Tuesday', 'Wednesday']\n",
    "chinese = ['一', '二', '三']\n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Monday': '一', 'Tuesday': '二', 'Wednesday': '三'}"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "english = [\"Monday\", \"Tuesday\", \"Wednesday\"]\n",
    "chinese = [\"一\", \"二\", \"三\"]\n",
    "dict = dict(zip(english, chinese))\n",
    "dict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-044\n",
    "\n",
    "> 列表推导式(list comprehension)语法\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "```\n",
    "[exp for item in items if condition]\n",
    "```\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-045\n",
    "\n",
    "> 0~9 的列表(列表推导式)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[n for n in range(10)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LIS-046\n",
    "\n",
    "> 0~9 的偶数列表(列表推导式)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "[n for n in range(10) if n]"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
